﻿using System;

namespace INNOVACALL.Framework.Common.InnovacallExceptions
{
	public enum enInnovacallExceptionTypes
	{
		CommonException,
		DataIntegrityException,
		FriendlyNavigationException,
		IdentificationException,
		InnovaTreeException
	}
	public abstract class _InnovacallExceptions_Base : Exception
	{
		public string Method { get; set; }
		public object MethodParameters { get; set; }
		public string FunctionalMessage { get; set; }
		public enInnovacallExceptionTypes ExceptionType { get; private set; }
		public _InnovacallExceptions_Base(string method, object methodParameters, string functionalMessage, enInnovacallExceptionTypes exceptionType)
		{
			this.ExceptionType = exceptionType;
			this.Method = method;
			this.MethodParameters = methodParameters;
			this.FunctionalMessage = functionalMessage;
		}
	}
}
